package com.css.fxfzaqbz.modules.supergraph.service;

import com.css.fxfzaqbz.base.response.RestResponse;
import com.css.fxfzaqbz.modules.supergraph.entity.CustomItem;
import com.css.fxfzaqbz.modules.supergraph.entity.Layer;
import com.css.fxfzaqbz.modules.supergraph.entity.Layerr;
import com.css.fxfzaqbz.modules.supergraph.entity.TemplateEntity;
import com.css.fxfzaqbz.modules.supergraph.vo.AssessEmphasisVo;
import com.css.fxfzaqbz.modules.supergraph.vo.HumanCasualtiesVO;
import com.css.fxfzaqbz.modules.supergraph.vo.SourceOfDangerBrVO;
import com.css.fxfzaqbz.modules.supergraph.vo.SupergraphVO;

import java.util.List;
import java.util.Map;

/**
 * @author y1fan
 * @create 2023-02-07 17:22
 */
public interface SupergraphService {


    RestResponse Supergraph(SupergraphVO supergraphVO) throws InterruptedException;

    List<Map<String,Object>> getSupergraph();

    RestResponse sourceOfDangerBr(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse hazardPoint(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse sourceOfDanger(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse faultage(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse seismotectonics(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse historicalEarthquake(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse populationDistribution(SourceOfDangerBrVO sourceOfDangerBrVO) throws InterruptedException;

    RestResponse HumanCasualtiesAndPlacement(HumanCasualtiesVO humanCasualtiesVO) throws InterruptedException;

    RestResponse assessEmphasisNetworkPath(AssessEmphasisVo assessEmphasisVo) throws InterruptedException;

    public String getRequestVOJsonStringByTjmb(String tjmb, List<TemplateEntity> templateEntityList, String tjbt, String ztdw, List<Layerr> layerrs, List<Layer> layers,
                                               Double centerX, Double centerY, Double leftX, Double leftY, Double rightX, Double rightY, int level, boolean baseLayerBool);

    public String getRequestVOJsonString(String templateName, String tjbt, String ztdw, List<Layerr> layerrs, List<Layer> layers,
                                          Double centerX, Double centerY, Double leftX, Double leftY, Double rightX, Double rightY, int level, boolean baseLayerBool,List<CustomItem> customItems);
    //获取图层图例（除文字标签）
    public Layerr getLayerrByLayerNameUrl(String layerName,String layerUrl);
}
